aadc62d4c283e31b7004c98bee55c1df4128fb9e,core/src/main/java/org/apache/calcite/sql2rel/SqlToRelConverter.java,SqlToRelConverter,pushDownNotForIn,#SqlNode#,870

Before Change


          SqlNode[] orOperands = new SqlNode[andOperands.length];
          for (int i = 0; i < orOperands.length; i++) {
            orOperands[i] =
                SqlStdOperatorTable.NOT.createCall(
                    SqlParserPos.ZERO,
                    andOperands[i]);
          }
          for (int i = 0; i < orOperands.length; i++) {
            orOperands[i] = pushDownNotForIn(orOperands[i]);
          }
          return SqlStdOperatorTable.OR.createCall(SqlParserPos.ZERO,
              orOperands[0], orOperands[1]);
        } else if (childSqlCall.getOperator() == SqlStdOperatorTable.OR) {
          SqlNode[] orOperands = childSqlCall.getOperands();
          SqlNode[] andOperands = new SqlNode[orOperands.length];

After Change


          SqlNode[] andOperands = childSqlCall.getOperands();
          SqlNode[] orOperands = new SqlNode[andOperands.length];
          for (int i = 0; i < orOperands.length; i++) {
            orOperands[i] = reg(scope,
                SqlStdOperatorTable.NOT.createCall(SqlParserPos.ZERO,
                    andOperands[i]));
          }
          for (int i = 0; i < orOperands.length; i++) {
            orOperands[i] = pushDownNotForIn(scope, orOperands[i]);
          }
          return reg(scope,
              SqlStdOperatorTable.OR.createCall(SqlParserPos.ZERO,
                  orOperands[0], orOperands[1]));
        } else if (childSqlCall.getOperator() == SqlStdOperatorTable.OR) {
          SqlNode[] orOperands = childSqlCall.getOperands();
          SqlNode[] andOperands = new SqlNode[orOperands.length];